//给你一个二进制字符串 s 。如果字符串中由 1 组成的 最长 连续子字符串 严格长于 由 0 组成的 最长 连续子字符串，返回 true ；否则，返回 fa
//lse 。 
//
// 
// 例如，s = "110100010" 中，由 1 组成的最长连续子字符串的长度是 2 ，由 0 组成的最长连续子字符串的长度是 3 。 
// 
//
// 注意，如果字符串中不存在 0 ，此时认为由 0 组成的最长连续子字符串的长度是 0 。字符串中不存在 1 的情况也适用此规则。 
//
// 
//
// 示例 1： 
//
// 
//输入：s = "1101"
//输出：true
//解释：
//由 1 组成的最长连续子字符串的长度是 2："1101"
//由 0 组成的最长连续子字符串的长度是 1："1101"
//由 1 组成的子字符串更长，故返回 true 。
// 
//
// 示例 2： 
//
// 
//输入：s = "111000"
//输出：false
//解释：
//由 1 组成的最长连续子字符串的长度是 3："111000"
//由 0 组成的最长连续子字符串的长度是 3："111000"
//由 1 组成的子字符串不比由 0 组成的子字符串长，故返回 false 。
// 
//
// 示例 3： 
//
// 
//输入：s = "110100010"
//输出：false
//解释：
//由 1 组成的最长连续子字符串的长度是 2："110100010"
//由 0 组成的最长连续子字符串的长度是 3："110100010"
//由 1 组成的子字符串不比由 0 组成的子字符串长，故返回 false 。
// 
//
// 
//
// 提示： 
//
// 
// 1 <= s.length <= 100 
// s[i] 不是 '0' 就是 '1' 
// 
// Related Topics 数组 双指针 
// 👍 7 👎 0


package cn.db117.leetcode.solution18;

/**
 * 1869.哪种连续子字符串更长.longer-contiguous-segments-of-ones-than-zeros
 *
 * @author db117
 * @since 2021-06-07 14:54:43
 **/

public class Solution_1869 {
    public static void main(String[] args) {
        Solution solution = new Solution_1869().new Solution();
        System.out.println(solution.checkZeroOnes("111000"));
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public boolean checkZeroOnes(String s) {
            char[] chars = s.toCharArray();
            int countOne = 0, countZero = 0, maxOne = 0, maxZero = 0;

            for (char c : chars) {
                if (c == '1') {
                    maxZero = Math.max(countZero, maxZero);
                    countOne++;
                    countZero = 0;
                } else {
                    maxOne = Math.max(maxOne, countOne);
                    countZero++;
                    countOne = 0;
                }
            }
            maxZero = Math.max(countZero, maxZero);
            maxOne = Math.max(maxOne, countOne);

            return maxOne > maxZero;
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}